Ext.onReady(function(){
	doGetAsyncJsonp(cbserviceUrl+"/portal/department?jsoncallback=?",function(tdata){
	//	console.log("这是左边的这棵树！"+JSON.stringify(tdata));
		
		var treestore = Ext.create('Ext.data.TreeStore', {
			autoLoad : true,
			data:tdata,
			fields:[{name:'text',type:'string', mapping:'name'}],    //此处是为了让extjs解析json串时，将name属性解析为所需的text属性。
			root : {
					text : '公司',			
					expanded : true			//进入时是否展开
				}   
			});	//treestore 创建结束
		
		var treepanel = Ext.create('Ext.tree.Panel', {
		    store:treestore, 		//数据源
		    lines:true,	    		//是否显示树线，默认为true
		    animate:true,	    	//动画效果
		    autoScroll:true,  		//如果超出范围带自动滚动条  
		    border:false,     		//显示tree side frame  表框  
		    useArrows: false, 		//树形目录使用visita中树目录显示效果(三角形代替+号) 
		    rootVisible: true,   	//是否显示根节点
		    containerScroll:true,	//是否将树形面板注册到滚动管理器ScrollManager中
	listeners:{
    	'itemclick':
      	 function (view, record, item, index, e) {
            deptId = record.raw.id; //获取点击的节点id
            nodeText = record.raw.name; //获取点击的节点text
     //       console.log(deptId);
            gridstore.removeAll();
            tgstore(deptId); 	 
            }
    	}
});		//treepanel的回调结束
			
		var west = new Ext.Panel({
		    collapsible:true,   //自动收缩按钮
		    split: true,
		    border:false,
		    width:225,
		    minWidth:200,
            maxWidth:500,
		    animate: true,
		    region:"west",
		    title:'组织列表',
		    items:treepanel
		});	
		
		var vp = new Ext.Viewport({
			    layout:"border",
			    items:[west,center]
			})		
	})		//回调方法结束
})    		//Extjs onReady()方法结束


		function tgstore(deptId){
			doGetAsyncJsonp(cbserviceUrl+"/portal/userListByDeptId/"+deptId+"?jsoncallback=?",function(gdata){
			//	console.log("这是右边的表格！"+JSON.stringify(gdata));
					for(var i=0;i<gdata.length;i++){
						var userName = gdata[i].userName;
						var realName = gdata[i].realName;	
						var data = [[userName,realName]];
						gridstore.loadData(data,true);
					}
			})
		}

		var gridstore = Ext.create('Ext.data.Store', {
			//		data:gdata,
				    fields: ["userName", "realName"],
				    pageSize: 10  //pageSize默认页容量 	
					});	//treestore 创建结束
		

		var gridpanel = Ext.create('Ext.grid.Panel', {
			title:"待选记录",
			store: gridstore, 
			stripeRows:true,    //在表格中显示斑马线
			columnLines:true,	//是否显示列分割线，默认为false
		    autoScroll:true,  	//如果超出范围带自动滚动条
		    containerScroll:true,	//是否将树形面板注册到滚动管理器ScrollManager中
		    bodyStyle : 'overflow-x:hidden; overflow-y:auto',
		    width:240,
		    height:"100%",

    columns: [                    
//	         { text: '序号', xtype:"rownumberer",align:'center', minWidth: 80 },
	         { text: '姓名', dataIndex: 'realName', align:'left', width: 119 },
	         { text: '登录名', dataIndex: 'userName', align: 'left', menuDisabled:true ,width:119}                     
	      ],

/*	 bbar: [{
	          xtype: 'pagingtoolbar',
	          store: gridstore,	  //设置表格对应的数据集
	       //   plugins:Ext.create('Ext.ux.ComboPageSize',{}),	//插件：显示每页显示多少条记录
	          displayMsg: '共 {2} 条',		//显示的分页状态信息
	          emptyMsg: "没有数据",			//没有记录时显示的文本
	          beforePageText: "第",
	          afterPageText: "页 ，共{0}页",
	          displayInfo: true                 //是否显示displayMsg，默认是不显示
	      	}],
	      	
	  */
	listeners: { 
		   'itemclick': function (view, record, item, index, e) {
		   				selModel = gridpanel.getSelectionModel();     //返回当前选择模式
		   				rows = selModel.getSelection();	//返回一个当前被选择的记录的数组 
						console.log(rows[0].data.userName);
		 	},
		   'itemdblclick': function (dataview, record, item, index, e) {
	    	   selModel = gridpanel.getSelectionModel();     //返回当前选择模式
	    	   rows = selModel.getSelection();	//返回一个当前被选择的记录的数组 
	    	   isExist();
				}
	  }
	});	//gridpanel的回调结束
	
			
		var targetStore = Ext.create('Ext.data.Store',{
			fields: ['userName', 'realName'],
			data:[]			//{userName:'test', realName:"真实姓名"}
			});
		
		var gridcheckpanel = Ext.create('Ext.grid.Panel', {
			title:"已选记录",
			store: targetStore, 
			stripeRows:true,    //在表格中显示斑马线
			columnLines:true,	//是否显示列分割线，默认为false
		    autoScroll:true,  	//如果超出范围带自动滚动条
		    containerScroll:true,	//是否将面板注册到滚动管理器ScrollManager中
		    bodyStyle : 'overflow-x:hidden; overflow-y:auto',
		    width: 260,
		    height:"100%",
		    selModel: {
		        injectCheckbox: 0,	 //checkbox位于哪一列，默认值为0
		        mode: "SIMPLE",      //"SINGLE"/"SIMPLE"/"MULTI"
		        checkOnly: false     //只能通过checkbox选择
		    },
		    selType: "checkboxmodel",      
		    columns: [                    
		// 	         { text: '序号', xtype:"rownumberer",align:'center', minWidth: 80 },
		 	         { text: '姓名', dataIndex: "realName", align:'left',width:110 },
		 	         { text: '登录名', dataIndex: 'userName', align: 'left', menuDisabled:true,width:124}                   //,hidden:true
		 	      ],
		 	tbar:[{text:'移除',iconCls:'rdel',width:60,handler:showRemove}]
		
		});
		
		var center = new Ext.Panel({
		//	title:'成员管理',
			region:"center",
			layout:"hbox",   		//配合grid的layout：hbox，实现水平布局两grid
			border: false,
	//		renderTo: 'center',
			items:[gridpanel,{xtype: 'tbspacer',width:50},gridcheckpanel],
			
			dockedItems: [{ //这里开始  
			xtype: 'toolbar',  
			dock: 'bottom',
			layout: {
		        type: 'hbox',
		        pack: 'center',
		        align: 'buttom'             
		        },  
			items: [{
				xtype: "button",
				margin:'0 0 0 0',
				width:80,
				height:30,
					id: "sure",
					text: "确定",
					listeners: 
				  {
					 "click":function(){
						showSave();
						}
					}
			 },{
				xtype: "button",
				margin:'0 0 0 40',
				width:80,
				height:30,
					id: "cancel",
					text: "取消",
					listeners: 
				   {
					  "click":function(){
							showCancel();
						 }
					 }
				 }
			 ]  
	 	}]
	});
		
		function showSave(){
			getVal();
		}
		
		function showCancel(){
			window.close(); 
	//		CloseWebPage();
		}

	
		//判断已选列表中是否已有当前用户
 		function isExist(){
		  rds = gridpanel.getSelectionModel().getSelection();
	      idname = rds[0].data.userName;
		  if(iteaAll()){
				MsgTip.msg('提示', "该用户已经被选中！",true);
		  }else{
			  targetStore.add(rds);
		  }
 		}
 		
 		//遍历右侧已选列表
		function iteaAll(){
			var total = gridcheckpanel.getStore().getCount();//数据行数
			for(var i=0;i<total;i++){
		//	  alert(gridcheckpanel.getStore().getAt(i))//每行records对象
		//	  alert(gridcheckpanel.getStore().getAt(i).data['BPD_NAME'])//对应每行dataIndex为BPD_NAME的值
				 ids = gridcheckpanel.getStore().getAt(i).data['userName'];
				 if(ids == idname){
						return true;
						break;
					}
			}
		}
 		
				
		//判断操作前是否选中一行
		function check(){
			 selModel = gridcheckpanel.getSelectionModel();     //返回当前选择模式
			 rows = selModel.getSelection();	//返回一个当前被选择的记录的数组 
			 if(selModel.hasSelection()){
				 return true;
			 }else{
				 Ext.Msg.alert("提示", "没有选中任何行，无法进行相应操作！");
			 }
		}

		function showRemove(){
			if(check()){
		
					for (var i = 0; i < rows.length; i++) {
				//	alert(rows[i].get("BPD_NAME"));
						targetStore.remove(rows[i]);
					//store.removeAll(); //删除所有数据
					}		
			}
		}
		
		//获取checkbox的值 
		var arrs = new Array();   //var Array=[];
		function getVal(){
		
			var total = gridcheckpanel.getStore().getCount();//数据行数
			for(var i=0;i<total;i++){
				var data = gridcheckpanel.getStore().getAt(i).data;
				var red = gridcheckpanel.getSelectionModel().selectAll();  //选择所有行 
					 id= gridcheckpanel.getStore().getAt(i).data['userName'];
				     arrs.push(id);	
			}
			//获取url的传参
			var args = window.dialogArguments; 
			var win = args.win;//父窗口对象 
			var content = arrs.join(); 
			//模态对话框将值 
			window.returnValue = content; 
			window.close(); 

			
			
	//		Ext.Msg.alert("提示",arrs.join()+"<br/>合计"+total+"条记录");

			  /* var records=targetStore.getSelectionModel().getSelection();
		
				 for(var p in records){
					   id=records[p].get('BPD_NAME');
				//       alert("你选择了名称为："+id);
				       arrs.push(id);
				   }
			
			   alert(arrs.join()+targetStore.getTotalCount());  */
		}
 
		//可兼容所有浏览器关闭当前页面函数--火狐、IE可正常关闭
		function CloseWebPage(){
			 if (navigator.userAgent.indexOf("MSIE") > 0) {
			  if (navigator.userAgent.indexOf("MSIE 6.0") > 0) {
			   window.opener = null;
			   window.close();
			  } else {
			   window.open('', '_top');
			   window.top.close();
			  }
		     }
			 else if (navigator.userAgent.indexOf("Firefox") > 0) {
			  window.location.href = 'about:blank ';
			 } else {
			  window.opener = null;
			  window.open('', '_self', '');
			  window.close();
			 }		
			}
			



